package escom.dds.modelo;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "carrera")
public class Carrera  implements Serializable{
	
	private Integer id;
	
	private String nombre;
	
	private int duracion;
	
	private Integer idCentro;
	
	private CentrodeTrabajo centro;
	
	private List<Alumno> alumnos;
	
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@Column(name = "id", nullable = false)
	public Integer getId() {
		return id;
	}
	
	public void setId(Integer id) {
		this.id = id;
	}
	
	@Column(name = "nombre", nullable = true)
	public String getNombre() {
		return nombre;
	}
	
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	@Column(name = "duracion", nullable = true)
	public int getDuracion() {
		return duracion;
	}
	
	public void setDuracion(int duracion) {
		this.duracion = duracion;
	}
	
	@Column(name="idCentro", nullable = true)
	public Integer getIdCentro() {
		return idCentro;
	}
	
	public void setIdCentro(Integer idCentro) {
		this.idCentro = idCentro;
	}
	
	@ManyToOne
	@JoinColumn(name = "idCentro", referencedColumnName = "id", updatable = false, insertable = false)
	public CentrodeTrabajo getCentro() {
		return centro;
	}
	
	public void setCentro(CentrodeTrabajo centro) {
		this.centro = centro;
	}

	@OneToMany(mappedBy = "carrera")
	public List<Alumno> getAlumnos() {
		return alumnos;
	}

	public void setAlumnos(List<Alumno> alumnos) {
		this.alumnos = alumnos;
	}

}
